package com.kujie.access.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kujie.access.domain.po.AccessCustomerServer;
import com.kujie.access.domain.query.CustomerServerQuery;
import com.kujie.access.domain.vo.CustomerServerVO;
import com.kujie.common.mybatis.core.page.PageQuery;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

/**
 * 客户服务管理 service
 *
 * @author check
 * @date 2025-06-30
 */
public interface ICustomerServerService {
    /**
     * 分页查询客户服务管理
     *
     * @param customerServerQuery 查询参数
     * @param pageQuery 分页参数
     * @return Page<CustomerServerVO>
     */
    Page<CustomerServerVO> list(CustomerServerQuery customerServerQuery, PageQuery pageQuery);

    /**
     * 查询客户管理详情
     *
     * @param id ids
     * @return CustomerServerVO
     */
    CustomerServerVO detail(Long id);

    /**
     * 新增/更新 客户服务管理
     *
     * @param accessCustomerServer accessCustomerServer
     * @return boolean
     */
    boolean insertOrUpdate(AccessCustomerServer accessCustomerServer);

    /**
     * 批量删除 客户服务管理
     *
     * @param ids ids
     * @return int
     */
    int batchDelete(List<Long> ids);

    /**
     * 批量导入 客户服务管理
     *
     * @param customerServerQuery 客户服务信息
     * @param response 响应
     * @return R<?>
     */
    List<CustomerServerVO> batchExport(CustomerServerQuery customerServerQuery, HttpServletResponse response);

    /**
     * 批量导入 客户服务管理
     *
     * @param file 文件
     * @return R<?>
     */
    int batchImport(MultipartFile file) throws IOException;
}
